import * as fileTransferAPI from '@/api/fileTransferApi'
import {Notification} from "element-ui";

export default {
	state: {
		// 文件已占用的存储空间大小
		storageValue: 0,
		totalStorageValue: 0
	},
	mutations: {
		/**
		 * 保存文件已占用的存储空间大小
		 * @param {object} state Vuex 的 state 对象
		 * @param {number} data 存储大小
		 */
		SET_STORAGE_VALUE(state, data) {
			state.storageValue = data
		},
		SET_TOTAL_STORAGE_VALUE(state, data) {
			state.totalStorageValue = data
		}
	},
	actions: {
		/**
		 * 获取文件已占用的存储空间
		 */
		showStorage(context) {
			return fileTransferAPI.getStorage().then((res) => {
				if (res.success) {
					context.commit(
						'SET_STORAGE_VALUE',
						res.data
							? res.data.storageSize === null
								? 0
								: Number(res.data.storageSize)
							: 0
					)
					context.commit(
						'SET_TOTAL_STORAGE_VALUE',
						res.data
							? res.data.totalStorageSize === null
								? 0
								: Number(res.data.totalStorageSize)
							: 0
					)
				} else {
					Notification.error(res.message)
				}
			})
		}
	}
}
